package team.archai.nexus.flow.config;

import org.springframework.boot.context.properties.ConfigurationProperties;
import team.archai.nexus.flow.vo.*;

import java.util.ArrayList;
import java.util.List;

/**
 * @author lishibin
 * @desc: 流程设计器资源文件注册配置类
 * @date 2023-08-03
 */
@ConfigurationProperties(prefix = "archai-nexus.flow-designer")
public class FlowDesignerProperties {
    private boolean enabled = true;
    private List<AssigneeTypeVO> assigneeTypes = new ArrayList<>();
    private List<ConditionCategoryVO> conditionCategories = new ArrayList<>();
    private List<ConditionVO> conditions = new ArrayList<>();
    private List<FlowBaseVO> categories = new ArrayList<>();
    private List<FlowNodeVO> flowNodes = new ArrayList<>();
    private List<FlowListenerVO> taskListeners = new ArrayList<>();

    public boolean isEnabled() {
        return enabled;
    }

    public void setEnabled(boolean enabled) {
        this.enabled = enabled;
    }

    public List<AssigneeTypeVO> getAssigneeTypes() {
        return assigneeTypes;
    }

    public void setAssigneeTypes(List<AssigneeTypeVO> assigneeTypes) {
        this.assigneeTypes = assigneeTypes;
    }

    public List<ConditionCategoryVO> getConditionCategories() {
        return conditionCategories;
    }

    public void setConditionCategories(List<ConditionCategoryVO> conditionCategories) {
        this.conditionCategories = conditionCategories;
    }

    public List<ConditionVO> getConditions() {
        return conditions;
    }

    public void setConditions(List<ConditionVO> conditions) {
        this.conditions = conditions;
    }

    public List<FlowBaseVO> getCategories() {
        return categories;
    }

    public void setCategories(List<FlowBaseVO> categories) {
        this.categories = categories;
    }

    public List<FlowNodeVO> getFlowNodes() {
        return flowNodes;
    }

    public void setFlowNodes(List<FlowNodeVO> flowNodes) {
        this.flowNodes = flowNodes;
    }

    public List<FlowListenerVO> getTaskListeners() {
        return taskListeners;
    }

    public void setTaskListeners(List<FlowListenerVO> taskListeners) {
        this.taskListeners = taskListeners;
    }
}
